home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / tex / dvi / dvipssrc.zoo / ps / tex.pro < prev    next >
Text File  |  1991-04-23  |  3KB  |  40 lines

  1. %!
  2. /TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
  3. load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
  4. isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
  5. Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get
  6. round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10
  7. N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{
  8. /vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{
  9. statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N
  10. /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin
  11. /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array
  12. /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2
  13. array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}
  14. B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont
  15. setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup
  16. length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{
  17. ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B
  18. /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0
  19. N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S
  20. dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0
  21. ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
  22. ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}
  23. imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr
  24. put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf
  25. div put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook
  26. known{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore
  27. showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
  28. known{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256
  29. array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N
  30. /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X
  31. /rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0
  32. 7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1
  33. TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1
  34. -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{
  35. moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{
  36. S p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B
  37. /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w
  38. }B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
  39. a}B /bos{/SS save N}B /eos{clear SS restore}B end
  40.